package com.tancire.works.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.tancire.common.annotation.Excel;
import com.tancire.common.core.domain.BaseEntity;

/**
 * 兼职管理对象 side_work
 *
 * @author tancire
 * @date 2024-02-27
 */
public class SideWork extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 工作标题
     */
    @Excel(name = "工作标题")
    private String title;

    /**
     * 工作简介
     */
    @Excel(name = "工作简介")
    private String workContent;

    /**
     * 工作类型
     */
    private String workType;

    /**
     * 单价
     */
    @Excel(name = "单价")
    private BigDecimal workPrice;

    /**
     * 单位（元/天，元/小时）
     */

    private String priceUnit;

    /**
     * 单位（元/天，元/小时）
     */
    @Excel(name = "单位")
    private String priceUnitName;

    /**
     * 公司ID
     */
    @Excel(name = "公司ID")
    private Long companyId;

    /**
     * 公司名称
     */
    @Excel(name = "公司名称")
    private String companyName;

    /**
     * 标签
     */
    @Excel(name = "标签")
    private String workTags;

    /**
     * 岗位需求数量
     */
    @Excel(name = "岗位需求数量")
    private Integer needCount;

    /**
     * 工作省
     */
    @Excel(name = "工作省")
    private String workProvince;

    /**
     * 工作省名称
     */
    @Excel(name = "工作省名称")
    private String workProvinceName;

    /**
     * 工作市
     */
    @Excel(name = "工作市")
    private String workCity;

    /**
     * 工作市名称
     */
    @Excel(name = "工作市名称")
    private String workCityName;

    /**
     * 工作区
     */
    @Excel(name = "工作区")
    private String workArea;

    /**
     * 工作区名称
     */
    @Excel(name = "工作区名称")
    private String workAreaName;

    /**
     * 工作地详细地址
     */
    @Excel(name = "工作地详细地址")
    private String workAddress;

    /**
     * 工作开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "工作开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workTimeStart;

    /**
     * 工作结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "工作结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workTimeEnd;

    /**
     * 工作年龄区间
     */
    @Excel(name = "工作年龄区间")
    private String workAge;

    /**
     * 工作热度
     */
    @Excel(name = "工作热度")
    private Integer workHot;

    /**
     * 0 正常  1 删除  真删除，字段保留
     */
    private Integer delFlag;

    public String getPriceUnitName() {
        return priceUnitName;
    }

    public void setPriceUnitName(String priceUnitName) {
        this.priceUnitName = priceUnitName;
    }

    public String getWorkType() {
        return workType;
    }

    public void setWorkType(String workType) {
        this.workType = workType;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public void setWorkContent(String workContent) {
        this.workContent = workContent;
    }

    public String getWorkContent() {
        return workContent;
    }

    public void setWorkPrice(BigDecimal workPrice) {
        this.workPrice = workPrice;
    }

    public BigDecimal getWorkPrice() {
        return workPrice;
    }

    public void setPriceUnit(String priceUnit) {
        this.priceUnit = priceUnit;
    }

    public String getPriceUnit() {
        return priceUnit;
    }

    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }

    public Long getCompanyId() {
        return companyId;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setWorkTags(String workTags) {
        this.workTags = workTags;
    }

    public String getWorkTags() {
        return workTags;
    }

    public void setNeedCount(Integer needCount) {
        this.needCount = needCount;
    }

    public Integer getNeedCount() {
        return needCount;
    }

    public void setWorkProvince(String workProvince) {
        this.workProvince = workProvince;
    }

    public String getWorkProvince() {
        return workProvince;
    }

    public void setWorkProvinceName(String workProvinceName) {
        this.workProvinceName = workProvinceName;
    }

    public String getWorkProvinceName() {
        return workProvinceName;
    }

    public void setWorkCity(String workCity) {
        this.workCity = workCity;
    }

    public String getWorkCity() {
        return workCity;
    }

    public void setWorkCityName(String workCityName) {
        this.workCityName = workCityName;
    }

    public String getWorkCityName() {
        return workCityName;
    }

    public void setWorkArea(String workArea) {
        this.workArea = workArea;
    }

    public String getWorkArea() {
        return workArea;
    }

    public void setWorkAreaName(String workAreaName) {
        this.workAreaName = workAreaName;
    }

    public String getWorkAreaName() {
        return workAreaName;
    }

    public void setWorkAddress(String workAddress) {
        this.workAddress = workAddress;
    }

    public String getWorkAddress() {
        return workAddress;
    }

    public void setWorkTimeStart(Date workTimeStart) {
        this.workTimeStart = workTimeStart;
    }

    public Date getWorkTimeStart() {
        return workTimeStart;
    }

    public void setWorkTimeEnd(Date workTimeEnd) {
        this.workTimeEnd = workTimeEnd;
    }

    public Date getWorkTimeEnd() {
        return workTimeEnd;
    }

    public void setWorkAge(String workAge) {
        this.workAge = workAge;
    }

    public String getWorkAge() {
        return workAge;
    }

    public void setWorkHot(Integer workHot) {
        this.workHot = workHot;
    }

    public Integer getWorkHot() {
        return workHot;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("title", getTitle())
                .append("workContent", getWorkContent())
                .append("workPrice", getWorkPrice())
                .append("priceUnit", getPriceUnit())
                .append("companyId", getCompanyId())
                .append("companyName", getCompanyName())
                .append("workTags", getWorkTags())
                .append("needCount", getNeedCount())
                .append("workProvince", getWorkProvince())
                .append("workProvinceName", getWorkProvinceName())
                .append("workCity", getWorkCity())
                .append("workCityName", getWorkCityName())
                .append("workArea", getWorkArea())
                .append("workAreaName", getWorkAreaName())
                .append("workAddress", getWorkAddress())
                .append("workTimeStart", getWorkTimeStart())
                .append("workTimeEnd", getWorkTimeEnd())
                .append("workAge", getWorkAge())
                .append("workHot", getWorkHot())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .append("delFlag", getDelFlag())
                .toString();
    }
}
